body{
    /* background-color: skyblue; */
}
/* 头部 */
.bili-nav{
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 24px;
    /* 因为实际宽度是100%+24*2，所以要设置border-box */
    box-sizing: border-box;
}
/* 头部导航左侧 */
.left-entry{
    display: flex;
}
.left-entry .entry-title{
    display: flex;
    height: 64px;
    align-items: center;
    color: #fff;
    margin-right: 15px;
}
.left-entry .entry-title svg{
    margin-right: 6px;
}

/* 顶部中间输入框背景大盒子 */
.center-search-container{
    /* 让自适应，如果其他元素也设置了flex:1，假设三个元素，最终效果就是1:1:1
    但如果别的元素都没有设置，就看剩下多少留白 */
    flex: 1;
    width: 40px;
    padding: 0 48px 0 4px;
    border-radius: 8px;
    border: 1px solid #e3e5e7;
    background-color: #f1f2f3;
    display: flex;
    align-items: center;
    position: relative;
}
.center-search-container:hover{
    background-color: #fff;
}
/* 搜索内容区域 */
.center-search-container .nav-search-content{
    display: flex;
    height: 40px;
    width: 100%;
    padding: 0 20px;
}
.center-search-container .nav-search-button{
    position: absolute;
    top: 4px;
    right: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    line-height: 32px;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color .3s;
}
.center-search-container .nav-search-input{
    /* 输入框自适应 */
    flex: 1;
    /* 透明 */
    background-color: transparent;
    /* 超出部分隐藏 */
    overflow: hidden;
    padding-right: 8px;
}

.center-search-container .nav-search-button:hover{
    background-color: #e3e4e5;
}

/* 导航右侧入库 */
.right-entry{
    margin-left: 10px;
    display: flex;
    align-items: center;
}
.right-entry .header-avatar{
    height: 50px;
    width: 50px;
    padding-right: 10px;
    position: relative;
}
.right-entry .header-avatar a{
    position: absolute;
    top: 6px;
    left: 10px;
    width: 36px;
    height: 36px;
    line-height: 36px;
    border-radius: 50%;
    border: 2px solid #fff;
    background-color: #00aeec;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
}
.right-entry .right-entry-item{
    min-width: 50px;
    margin-right: 4px;
}
.right-entry .right-entry-item a{
    display: flex;
    /* 纵向排列 */
    flex-direction: column;
    align-items: center;
    /* 这个也是会影响svg图标的颜色的 */
    color: #fff;
}
.right-entry-item a span{
    font-size: 13px;
}
.right-entry .upload{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 34px;
    line-height: 34px;
    border-radius: 8px;
    color: #fff;
    background-color: #fb7299;
    margin-left: 10px;
}
.right-entry .upload span{
    margin-left: 5px;
}

/* banner区域 */
.bili-nav{
    position: absolute;
    top: 0;
    /* nav必须压在banner头上 */
    z-index: 1000;
}
.bili-banner{
    position: relative;
    height: 155px;
    width: 100%;
    /* 超出部分忽略 */
    overflow: hidden;
}
.bili-banner img{
    position: absolute;
    left: 0;
    top: 0;
    /* 相当于屏幕自适应的配置了 */
    width: 100%;
    height: 100%;
    /* 加了这个属性后，图片平铺起来更好看一点 */
    object-fit: cover;
}
.bili-banner .logo{
    width: 100%;
    height: 100%;
    padding: 0 64px;
    display: flex;
    align-items: flex-end;
}
.bili-banner .logo a{
    position: relative;
    width: 162px;
    height: 78px;
    margin-bottom: 10px;
}
/* 遮罩区 */
.bili-banner .mask{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* 线性的逐渐变透明 */
    background: linear-gradient(rgba(0, 0, 0, 0.4),transparent);
}

/* 频道区域 */
.bili-channel{
    height: 110px;
    padding: 0 60px;
    display: flex;
    align-items: center;
}
.bili-channel .channel-icons{
    display: flex;
}
.bili-channel .channel-icons a{
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-right: 24px;
}
.bili-channel .icon-bg{
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-bottom: 6px;
}
.bili-channel .icon-bg_dynamic{
    background-color: #ff9212;
}
.bili-channel .icon-bg_popular{
    background-color: #f07775;
}
.bili-channel .icon-bg_channel{
    background-color: #59ca73;
}
.bili-channel .icon-bg svg{
    width: 25px;
    height: 25px;
}
.bili-channel span{
    text-align: center;
}

.bili-channel .right-channel-container{
    width: 100%;
    display: flex;
}

/* 频道列表 */
.bili-channel .channel-items_left{
    display: grid;
    /* 11列，每空尺寸一样 采用列划分，因为宽度一样 */
    grid-template-columns: repeat(11,1fr);
    /* 间隙为10px */
    gap: 10px;
    /* 设置了这个就自适应了，所以左右都要固定尺寸 */
    width: 100%;
}

.bili-channel .channel-items_left a {
    height: 26px;
    line-height: 26px;
    background-color: #f6f7f8;
    border: 1px solid #f1f2f3;
    border-radius: 6px;
    text-align: center;
    color: #61666d;
}

/* 右侧频道项列表 */
.bili-channel .channel-items_right{
    width: 240px;
    display: grid;
    /* 两行，均分 因为每一项宽度不一样，所以用行划分 */
    grid-template-rows: repeat(2,1fr);
    /* 设置行间隙 */
    row-gap: 10px;
    /* 按列填充，第一行一个，第二行一个这样填充 */
    grid-auto-flow: column;
    /* 避免被挤压，因为中间是width:100% */
    flex-shrink: 0;
    margin-left: 30px;
    border-left: 1px solid #e2e5e7;
}
.channel-items_right a{
    width: 100%;
    height: 28px;
    /* 文字间隙增大 */
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.channel-items_right svg{
    width: 20px;
    height: 20px;
    margin-right: 4px;
    /* 颜色填充 */
    fill: #61666d;
}
.channel-items_right span{
    color: #61666d;
}

/* 推荐列表 */
.main{
    width: 100%;
    padding: 0 60px;
    box-sizing: border-box;
}
.main .recommend-container{
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 20px;
    width: 100%;
}
.main .recommonded-card .card-image{
    position: relative;
    border-radius: 6px;
    overflow: hidden;
}
.main .card-image img{
    width: 100%;
    height: 100%;
}
/* 遮罩层 */
.card-image .image-mask{
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 16px 8px 6px;
    width: 100%;
    box-sizing: border-box;
    height: 38px;
    /* 渐变色 上面透明，下面黑色 旋转180度 */
    background-image: linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.8) 100%);
    color: #fff;
    font-size: 13px;
    display: flex;
    align-items: center;
}
.card-image .image-mask .stats-left{
    flex: 1;
    display: flex;
    align-items: center;
}

.image-mask .stats-left .stats-item{
    display: flex;
    align-items: center;
    margin-right: 12px;
}

.image-mask svg{
    width: 18px;
    height: 18px;
    color: #fff;
}

/* 底部信息 */
.card-info h3{
    line-height: 22px;
    padding-right: 16px;
    font-size: 15px;
    /* 多出的文字直接省略 */
    overflow: hidden;

    /* 设置成两行文本 */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-break: anywhere;
    -webkit-line-clamp: 2;
}
.info-bottom{
    margin-top: 4px;
    display: flex;
    font-size: 13px;
}
.info-bottom a{
    color: #9499a0;
    display: flex;
    align-items: center;
}
.info-bottom svg{
    width: 17px;
    height: 17px;
    margin-right: 2px;
}
.info-bottom .info-date{
    margin-left: 10px;
}

/* 轮播图 */
.carousel-area{
    grid-row: 1/3;
    grid-column: 1/3;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}
.carousel-area img{
    width: 100%;
}
.carousel-area .mask{
    width: 100%;
    height: 346px;
    position: absolute;
    top: 0;
    /* background-image: linear-gradient(red 23%,transition 35%); */
    background: linear-gradient(0,rgb(66, 142, 213) 23%,transparent 35%);
    border-radius: 6px;
}
.carousel-area .tools{
    width: 100%;
    position: absolute;
    bottom: 74px;
    left: 0px;
    padding: 0 15px;
    box-sizing: border-box;
}
.carousel-area .tools a{
    display: flex;
    margin-bottom: 10px;
    font-size: 18px;
    color: #fff;
}
.carousel-area .tools ul{
    display: flex;

}
.carousel-area .tools li{
    width: 8px;
    height: 8px;
    margin: 4px;
    border-radius: 50%;
    background-color: #fff6;
    cursor: pointer;
}
.carousel-area .tools li.active{
    width: 14px;
    height: 14px;
    margin: 1px;
    background-color: #fff;
}
.carousel-area .tools .buttons{
    position: absolute;
    bottom: 22px;
    right: 15px;
}
.tools button{
    width: 28px;
    height: 28px;
    border-radius: 8px;
    border: 0px;
    margin-right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* background-color: #ffffff07; */
    background-color: rgba(255,255,255,.1);
}
.tools button:last-child{
    margin-right: 0px;
}
.tools svg{
    width: 12px;
    height: 12px;
    color: white;
}


/* 侧边栏 */
.sidebar{
    position: fixed;
    bottom: 40px;
    right: 12px;
}
.sidebar .primary-btn{
    width: 40px;
    margin-top: 6px;
    padding: 8px 0 6px;
    box-sizing: border-box;
    border: 1px solid #e3e5e7;
    background-color: #fff;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 12px;
    cursor: pointer;
}
.sidebar .primary-btn svg{
    width: 24px;
    height: 24px;
}
.primary-btn .primary-btn-text{
    margin-top: 2px;
}
.primary-btn.goback{
    padding: 4px;
}
.primary-btn.top-btn{
    margin-top: 12px;
}
.primary-btn.top-btn svg{
    width: 15px;
    height: 8px;
}